home *** CD-ROM | disk | FTP | other *** search
- # -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
- # ex: ts=8 sw=8 noet filetype=sh
- #
- # Perforce completion by Frank Cusack <frank@google.com>
-
- _p4()
- {
- local cur prev prev2 p4commands p4filetypes
-
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- # rename isn't really a command
- p4commands="$( p4 help commands | awk 'NF>3 {print $1}' )"
- p4filetypes="ctext cxtext ktext kxtext ltext tempobj ubinary \
- uresource uxbinary xbinary xltext xtempobj xtext \
- text binary resource"
-
- if [ $COMP_CWORD -eq 1 ]; then
- COMPREPLY=( $( compgen -W "$p4commands" -- $cur ) )
- elif [ $COMP_CWORD -eq 2 ]; then
- case "$prev" in
- help)
- COMPREPLY=( $( compgen -W "simple commands \
- environment filetypes jobview revisions \
- usage views $p4commands" -- $cur ) )
- ;;
- admin)
- COMPREPLY=( $( compgen -W "checkpoint stop" -- $cur ) )
- ;;
- *)
- ;;
- esac
- elif [ $COMP_CWORD -gt 2 ]; then
- prev2=${COMP_WORDS[COMP_CWORD-2]}
- case "$prev" in
- -t)
- case "$prev2" in
- add|edit|reopen)
- COMPREPLY=( $( compgen -W "$p4filetypes" \
- -- $cur) )
- ;;
- *)
- ;;
- esac
- ;;
- *)
- ;;
- esac
- fi
-
- return 0
- }
- complete -F _p4 $default p4 g4
-